home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / bintest.asm < prev    next >
Assembly Source File  |  2002-08-02  |  2KB  |  95 lines

  1. ; This is an example of how to
  2. ; make a ".BIN" file.
  3.  
  4. ; Directive to create BIN file:
  5. #make_BIN#
  6.  
  7. ; where to load?
  8. #LOAD_SEGMENT=1234#
  9. #LOAD_OFFSET=0000#
  10.  
  11. ; set these values to registers on load:
  12. #AL=12#
  13. #AH=34#
  14. #BH=56#
  15. #BL=78#
  16. #CH=9A#
  17. #CL=BC#
  18. #DH=DE#
  19. #DL=F0#
  20. #DS=DDEE#
  21. #ES=ABCD#
  22. #SI=AAAA#
  23. #DI=CCCC#
  24. #BP=DDDD#
  25. #CS=1234#
  26. #IP=0000#
  27. #SS=3000#
  28. #SP=FFFF#
  29.  
  30. ; When loading "bintest.bin" file in emulator
  31. ; it will look for a "bintest.binf" file,
  32. ; and load ".BIN" file to location specified
  33. ; in that file, registers are also set using
  34. ; information in that file (open this file
  35. ; in a text editor to edit or investigate).
  36. ;
  37. ; ".binf" file is created automatically
  38. ; by compiler when it processes the above
  39. ; directives.
  40.  
  41.  
  42.  
  43. ; This sample just prints out a part of
  44. ; some ASCII character set, in an eternal
  45. ; loop, press [Stop] button or ESC to stop.
  46.  
  47.  
  48. start:
  49.  
  50. MOV     AL, '0'
  51. MOV     AH, 0Eh
  52.  
  53. print_more:
  54.  
  55. INT     10h
  56. INC     AL
  57.  
  58. ; keep original AX:
  59. MOV     CX, AX
  60.  
  61. ;============================
  62. ; check for ESC key to
  63. ;    reboot:
  64.  
  65. ; check for keystroke in
  66. ; keyboard buffer:
  67. MOV     AH, 1
  68. INT     16h
  69. JZ      key_processed
  70.  
  71. ; get keystroke from keyboard:
  72. ; (remove from the buffer)
  73. MOV     AH, 0 
  74. INT     16h
  75.  
  76. ; press 'ESC' to exit:
  77. CMP     AL, 1Bh
  78. JNZ     key_processed
  79. INT     19h
  80.  
  81. key_processed:
  82. ;============================
  83.  
  84. ; restore original AX:
  85. MOV     AX, CX
  86.  
  87.  
  88. CMP     AL, 'z'
  89. JBE     print_more
  90.  
  91. MOV     AL, '0'
  92. JMP     print_more
  93.  
  94. END
  95.